package org.sourceprojects.pannonia.internal;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.sourceprojects.pannonia.Callback;
import org.sourceprojects.pannonia.Event;
import org.sourceprojects.pannonia.EventDelegate;
import org.sourceprojects.pannonia.EventManager;
import org.sourceprojects.pannonia.MarkedEventHandler;
import org.sourceprojects.pannonia.Message;
import org.sourceprojects.pannonia.Queue;
import org.sourceprojects.pannonia.Topic;

public class EventManagerImpl implements EventManager {

	private final Map<? extends Event, EventDelegate<?>> EVENT_MAPPING = new HashMap<Event, EventDelegate<?>>();

	@Override
	public <T> void announceMessage(Message<T> message) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> Message<T> dequeueMessage(String name) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <T> T fireEvent(Event event) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <T> T fireEvent(Event event, Object... arguments) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <T> T fireEvent(Object receiver, Event event) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <T> T fireEvent(Object receiver, Event event, Object... arguments) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Queue getQueue(String name) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public <T> void postQueueMessage(String name, Message<T> message) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> void postTopicMessage(Topic topic, Message<T> message) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> List<Message<T>> queryTopic(Topic topic) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void registerEventHandler(MarkedEventHandler eventHandler) {

	}

	@Override
	public void registerEventHandler(Object eventHandler) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> void registerQueue(String name, Callback<T> callback) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> void registerTopic(Topic topic, Callback<T> callback) {
		// TODO Auto-generated method stub

	}

	@Override
	public void removeEventHandler(MarkedEventHandler eventHandler) {
		// TODO Auto-generated method stub

	}

	@Override
	public void removeEventHandler(Object eventHandler) {
		// TODO Auto-generated method stub

	}

	@Override
	public <T> void removeTopicMessage(Topic topic, Message<T> message) {
		// TODO Auto-generated method stub

	}

}
